package main

import "fmt"

type People interface { //定义一个接口
	Speak(string) string //接口方法Speak(参数string)返回值string
}
type Student struct {} //定义一个结构体。用来实现接口中的方法

func (stu *Student) Speak(think string) (talk string)  {//实现方法
	if think=="bitch"{
		talk="You are a good boy"
	}else{
		talk="hi"
	}
	return
}
func main()  {
	var peo People=&Student{}//创建结构体对象。用来实现结构体的方法
	think:="bitch"
	fmt.Println(peo.Speak(think))//实现方法，传值并返回值
}
/*
func (stu *Student) Speak(think string) (talk string)
虽然给*Studeng提供了方法，但是main主函数中的Student并不属于这个方法，因为Struct struct是值类型
需要把Student变为引用类型才可以。&Studeng
或者将方法中的*Student改成也变为值类型
*/
